/**
 * Copyright (c) qzsoft All rights reserved.
 *
 * qzsoft.cn
 *
 * 版权所有，侵权必究！
 */

package com.qzsoft.system.modules.permission.role.service;


import java.util.List;

/**
 * 角色数据权限
 *
 * @author Mark sunlightcs@gmail.com
 * @since 1.0.0
 */
public interface SysRoleDataScopeService  {

    /**
     * 根据角色ID，获取部门ID列表
     */
    List<String> getDeptIdList(Long roleId);

    /**
     * @Title getBaseCodeList
     * @Description 根据角色主键获取基地编号列表
     * @param roleIdList 角色主键集合
     * @return 基地编号列表
     */
    List<String> getBaseCodeList(List<Long> roleIdList);

    /**
     * 保存或修改
     * @param roleId      角色ID
     * @param deptIdList  部门ID列表
     */
    void saveOrUpdate(Long roleId, List<String> deptIdList);

    /**
     * 根据角色id，删除角色数据权限关系
     * @param roleId 角色ids
     */
    void deleteByRoleIds(Long[] roleId);
}